home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 051-075 / disk_069 / sb / sbmsgport.c < prev    next >
C/C++ Source or Header  |  1992-05-06  |  2KB  |  61 lines

  1. /* module written by G. Gagnon, Mar 24, 1987 */
  2.  
  3. #include "sb:sb.h"
  4.  
  5. extern int level;
  6.  
  7.  
  8. void PrMsgPort(string, msgport) char *string; struct MsgPort *msgport;
  9. {
  10. static struct StructData structdata[] = {
  11.      { "-mp_Node",         "Node structure",    0, 0        },
  12.      { "   .ln_Succ",      "struct Node *",     5, PTRSIZE  },
  13.      { "   .ln_Pred",      "struct Node *",     5, PTRSIZE  },
  14.      { "-  .ln_Type",      "UBYTE",            13, BYTESIZE },
  15.      { "-  .ln_Pri",       "BYTE",              3, BYTESIZE },
  16.      { "   .ln_Name",      "CHAR *",            4, PTRSIZE  },
  17.      { "-mp_Flags",        "UBYTE",            13, BYTESIZE },
  18.      { "-mp_SigBit",       "UBYTE",            13, BYTESIZE },
  19.      { "(mp_SigTask",      "struct Task *)",    5, PTRSIZE  },
  20.      { "-mp_MsgList",      "List structure",    0, 0        },
  21.      { "   .lh_Head",      "struct Node *",     5, PTRSIZE  },
  22.      { "   .lh_Tail",      "struct Node *",     5, PTRSIZE  },
  23.      { "   .lh_TailPred",  "struct Node *",     5, PTRSIZE  },
  24.      { "-  .lh_Type",      "UBYTE",            13, BYTESIZE },
  25.      { "-  .l_pad",        "UBYTE",            13, BYTESIZE }
  26.   };
  27. int sum, choice = -1;
  28.   level++;
  29.   while (choice) {
  30.     sum = SetOptionText(string, structdata, (APTR)msgport, DATASIZE, 0);
  31.     switch (choice = GetChoice(DATASIZE)) {
  32.       case 2:
  33.         if (msgport->mp_Node.ln_Succ)
  34.           PrNode("MsgPort->mp_Node.ln_Succ", msgport->mp_Node.ln_Succ);
  35.         break;
  36.       case 3:
  37.         if (msgport->mp_Node.ln_Pred)
  38.           PrNode("MsgPort->mp_Node.ln_Pred", msgport->mp_Node.ln_Pred);
  39.         break;
  40.       case 6:
  41.         PrString("mp_Node->ln_Name",msgport->mp_Node.ln_Name);
  42.         break;
  43.       case 11:
  44.         if (msgport->mp_MsgList.lh_Head)
  45.           PrNode("MsgPort->mp_MsgList.lh_Head", msgport->mp_MsgList.lh_Head);
  46.         break;
  47.       case 12:
  48.         if (msgport->mp_MsgList.lh_Tail)
  49.           PrNode("MsgPort->mp_MsgList.lh_Tail", msgport->mp_MsgList.lh_Tail);
  50.         break;
  51.       case 13:
  52.         if (msgport->mp_MsgList.lh_TailPred)
  53.           PrNode("MsgPort->mp_MsgList.lh_TailPred", msgport->mp_MsgList.lh_TailPred);
  54.         break;
  55.     }
  56.   }
  57.   level--;
  58. }
  59.  
  60.  
  61.